package com.example.a_java.model.dto.report;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.List;

/**
 * 贷款报表查询参数DTO
 */
@Data
@Schema(description = "贷款报表查询参数DTO")
public class LoanQueryDTO {

    @Schema(description = "统计周期，month(月度)、quarter(季度)、year(年度)、custom(自定义)，默认month")
    private String period = "month";
    
    @Schema(description = "日期范围，当period为custom时必填，格式：[\"YYYY-MM-DD\", \"YYYY-MM-DD\"]")
    private List<LocalDate> dateRange;
    
    @Schema(description = "产品类型，如personal(个人贷款)、business(企业贷款)、mortgage(抵押贷款)")
    private String productType;
    
    @Schema(description = "贷款状态，如normal(正常)、overdue(逾期)、closed(已结清)")
    private String loanStatus;
    
    @Schema(description = "排序字段，amount(金额)、term(期限)、rate(利率)等")
    private String orderBy;
    
    @Schema(description = "排序方式，asc(升序)、desc(降序)，默认desc")
    private String orderType = "desc";
    
    @Schema(description = "当前页码")
    private Integer currentPage = 1;
    
    @Schema(description = "每页记录数")
    private Integer pageSize = 10;
    
    @Schema(description = "导出类型，summary(汇总)、detail(明细)，默认summary")
    private String exportType = "summary";
} 
